// src/utils/axios.js
import axios from "axios";
import { definedUser } from "@/store/store";


const instance = axios.create();

// 添加请求拦截器
instance.interceptors.request.use(
  (config) => {
    // 从 Vuex store 或者其他地方获取 Token
    const token = definedUser().token; // 请确保此函数能正确获取 Token
    if (token) {
      // 将 Token 添加到请求头中
      config.headers["token"] = `${token}`;
    }
    return config;
  },
  (error) => {
    // 错误处理
    return Promise.reject(error);
  }
);

//http reponse响应拦截器
instance.interceptors.response.use(
  response =>{
    definedUser().setToken(response.config.headers.token)
    return response;
  },
  error=>{
    if(error){
      console.log(error.response.status)
      switch(error.response.status){
        case 401:
          localStorage.removeItem('token');
      }
    }
  })

// 导出 Axios 实例供其他组件使用
export default instance;

// 为了简洁，这里没有展示响应拦截器，但你也可以添加一个来处理响应错误，比如 Token 过期的情况。
